// 与后端 users 表对应的用户类型定义，保留 snake_case 命名以匹配后端返回的数据
export interface User {
  id: number
  username: string
  email: string
  // 后端保存密码哈希，但前端通常不会携带该字段，标记为可选
  password_hash?: string | null
  // 显示名/昵称
  display_name?: string | null
  // 头像 URL
  avatar_url?: string | null
  // 自定义设置（JSON）
  settings?: Record<string, any> | null
  // 是否激活
  is_active?: boolean
  // 额外在项目中出现的角色/余额/状态字段（服务器可能扩展了表结构或返回联合字段）
  role?: 'USER' | 'ADMIN' | string
  account_balance?: number
  status?: 'ACTIVE' | 'INACTIVE' | string
  // 创建/更新时间，后端以字符串（ISO 或 datetime）返回
  created_at: string
  updated_at: string

  // 有时后端会返回刷新令牌或其他临时字段
  refreshToken?: string | null

  // 容许附加字段以兼容后端的扩展字段
  [key: string]: any
}

// 文件末尾保持空白（接口已通过 `export interface User` 导出）
